package com.shujia.spark.core

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object Demo10Union {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf()
    conf.setAppName("map")
    conf.setMaster("local")

    val sc = new SparkContext(conf)

    val rdd1: RDD[String] = sc.textFile("data/words/1.txt")
    val rdd2: RDD[String] = sc.textFile("data/words/2.txt")


    /**
     * union:合并两个RDD,两个rdd的类型要一致，不会对数据去重
     * union只是在逻辑层面合并了，物理层面没有合并
     *
     * 合并之后新的rdd的分区数等于墙面两个rdd的和
     */
    val unionRDD: RDD[String] = rdd1.union(rdd2)
    println(unionRDD.getNumPartitions)

    unionRDD.foreach(println)

  }

}
